#ifndef H_BUFF
#define H_BUFF
#include "precompiled.h"
#include "item.h"
namespace weo
{
    namespace engine
    {
        namespace character
        {
            class Buff : public virtual gc
            {
            private:
                std::string m_Name;
                std::vector<weo::engine::item::Attribute> m_Attributes;
                bool m_Active;
                static bool s_Bok;
            protected:
            public:
                std::string Name() const {return m_Name;};
                void Name(const std::string& value) {m_Name = value;};
                const std::vector<weo::engine::item::Attribute>* getAttributes() const {return &m_Attributes;};
                void setAttributes(const std::vector<weo::engine::item::Attribute> & value) {
                    m_Attributes.assign(value.begin(),value.end());
                };
                void addAttribute(const weo::engine::item::Attribute& attr);
                bool Active() const {return m_Active;};
                void Active(const bool value) {m_Active = value;};
                static void setBok(const bool value) {s_Bok = value;};
                static bool Bok() {return s_Bok;};
                Buff(const std::string name, const std::vector<weo::engine::item::Attribute>& attrs = std::vector<weo::engine::item::Attribute>());
                Buff();
            };
        };
    };
};
#endif